<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <input v-model="num1" type="text">
        <span>*</span>
        <input v-model="num2" type="text">
        <span>=</span>
        <span>{{ result }}</span>

        <div>{{ result }}</div>
        <div>{{ result }}</div>
        <div>{{ result }}</div>
        <div>{{ result }}</div>
        <div>{{ result }}</div>
    </div>

    <script src="./vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {
                num1: 0,
                num2: 0
            },

            // 计算属性有缓存
            // 只有第一次时会调用，然后经过计算得到一个结果。然后会把结果缓存起来
            // 后面用是直接从缓存里取的
            // 当他里面的任何一个依赖项发生改变，就会重新调用来得到一个新的结果，并把新的结果再缓存起来
            // 什么叫依赖项？就是计算属性内部用到的别的数据，例如这个计算属性用了两个数据num1,num2
            // 那么num1和num2都能称之为这个计算属性的依赖项，当他们任何一个发生改变，都会重新调用计算结果再缓存
            computed: {
                result () {
                    console.log('result调用了')
                    return this.num1 * this.num2
                }
            }
        })
    </script>
</body>
</html>